﻿namespace dogd
{
	/// <summary>
	/// The kinds of Create Read Update Delete commands we will try to store in the cache
	/// </summary>
	public enum CrudOption
	{
		/// <summary>
		/// Simple select
		/// </summary>
		[Description("Select")]
		Select,

		/// <summary>
		/// Select using an id lookup field
		/// </summary>
		[Description("Select by Id")]
		SelectById,

		/// <summary>
		/// Select using a primary key
		/// </summary>
		[Description("Select by primary key")]
		SelectByPrimaryKey,

		/// <summary>
		/// Select using a foreign key
		/// </summary>
		[Description("Select by foreign key")]
		SelectByForeignKey,

		/// <summary>
		/// Select using text
		/// </summary>
		[Description("Select by name")]
		SelectByName,

		/// <summary>
		/// Select using a status flag
		/// </summary>
		[Description("Select by status")]
		SelectByStatus,

		/// <summary>
		/// Select using an alternative status flag
		/// </summary>
		[Description("Select by status 2")]
		SelectByStatus2,

		/// <summary>
		/// Select the number of records 
		/// </summary>
		[Description("Select count")]
		SelectCount,

		/// <summary>
		/// Simple insert
		/// </summary>
		[Description("Insert")]
		Insert,

		/// <summary>
		/// Simple update
		/// </summary>
		[Description("Update")]
		Update,

		/// <summary>
		/// Simple delete
		/// </summary>
		[Description("Delete")]
		Delete,

		/// <summary>
		/// Delete by foreign key
		/// </summary>
		[Description("Delete by foreign key")]
		DeleteByForeignKey
	}
}
